﻿////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <copyright>Copyright 2008-2011 Andreas Huber Doenni</copyright>
// Distributed under the Microsoft Public License (Ms-PL).
// See accompanying file License.txt or copy at http://mews.codeplex.com/license.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace Mews.Mime
{
    using System;

    /// <summary>Processes the body of a message entity.</summary>
    internal sealed class MessageBodyProcessor : MessageProcessor, ILineProcessor<Body>
    {
        private readonly MessageBody result;

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        internal MessageBodyProcessor(string subtype, Disposition disposition)
        {
            this.result = new MessageBody(subtype);
            this.result.Disposition = disposition;
        }

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        /// <summary>See <see cref="ILineProcessor{T}.GetResult"/>.</summary>
        Body ILineProcessor<Body>.GetResult()
        {
            this.result.Content = this.GetResult();
            return this.result;
        }
    }
}
